/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mcc_test;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;

/**
 *
 * @author steven
 */
public class Joueur {

    private String nomJoueur;
    private String chaineUtilisateur;
    private String sequence;
    private int valeurMax;

    public Joueur(String nomJoueur, String sequence, int valeurMax) {
        this.nomJoueur = nomJoueur;
        this.sequence = sequence;
        this.chaineUtilisateur = "";
        this.valeurMax = valeurMax;
    }

    public void jouer() {
        int index = 0;

        System.out.println("****************************************************************");
        System.out.println("Allez-vous réussir à ne pas vous tromper !!!");
        System.out.println("Un objet est caché sous des gobelets (représentés par des 'O').");
        System.out.println("L'objet peut être déplacé à chaque itération.");
        System.out.println("But du jeu: ne plus se tromper ...");
        System.out.println("****************************************************************");

        //tant que l'utilisateur n'a pas reconnu la séquence au minimum 2 fois
        while (!chaineUtilisateur.contains(sequence + sequence)) {

            System.out.println("\nDevinez sous quel 'O' se trouve l'objet (tapez de 1 à " + valeurMax + ")!!");

            String ronds = "";
            for (int i = 0; i < valeurMax; i++) {
                ronds += "O ";
            }
            System.out.println(ronds);

            if (index == sequence.length()) {
                index = 0;
            }
            sequence.charAt(index);

            Scanner sc = new Scanner(System.in);
            String choix = sc.next();

            chaineUtilisateur += choix;

            if (choix.charAt(0) == sequence.charAt(index)) {
                System.out.println("Bravo, vous avez choisi la bonne valeur !");
            } else {
                System.out.println("Dommage, l'objet était en position " + sequence.charAt(index));
            }
            index++;

//            try {
//                if (System.getProperty("os.name").startsWith("Windows")) {
//                    Runtime.getRuntime().exec("cls");
//                } else {
//                    Runtime.getRuntime().exec("clear");
//                }
//            } catch (Exception excpt) {
//                System.out.println("Votre OS n'est pas compatible avec cette application !\n" + excpt.getMessage());
//            }
        }
        System.out.println("\n\n*********************************************************");
        System.out.println("Félicitation, vous avez trouvé la séquence à déchiffrer !");
        System.out.println("La séquence à trouver été: " + sequence);
        System.out.println("*********************************************************\n\n");

        //On enregistre la partie du joueur
        EnregistrerPartie ep = new EnregistrerPartie(this);

        try {
            ep.enregistrer();
        } catch (FileNotFoundException ex) {
            System.out.println("Impossible creer le fichier de sauvegarde !\n" + ex.getMessage());
        } catch (IOException ex) {
            System.out.println("Imposible d'ecrire dans le fichier de sauvegarde !\n" + ex.getMessage());
        }
    }

    public String getChaineUtilisateur() {
        return chaineUtilisateur;
    }

    public String getNomJoueur() {
        return nomJoueur;
    }

    public String getSequence() {
        return sequence;
    }

    public int getValeurMax() {
        return valeurMax;
    }
}
